Wireless computing technologies provide untethered access to the Internet and other networks. One of the most critical technologies for wireless networking (or Wi-Fi) is the IEEE 802.11 family of protocols promulgated by the Institute of Electrical and Electronics Engineers. Currently, the protocols are widely adopted in wireless devices such as laptop computers, tablet computers, smart phones, and network appliances.
Wireless devices complying with standards such as IEEE 802.11 have control over how a connection to a wireless network is made. Namely, a wireless device selects an access point among a number of access points within range that have sent out beacons advertising a presence. The beacon includes a BSSID (Basic Service Set IDentifier) as an identifier of the access point. In turn, the wireless device sends data packets which include the BSSID of the intended access point. Access points receiving a transmission intended for a different access point, as determined by the BSSID, merely ignore the data packets.
Problematically, wireless devices act in self-interest and without consideration for burdens or capabilities of an access point or other components in a wireless network, or other conditions affecting the wireless network. In fact, wireless devices, being unaware of network conditions, can also make a connection against their own best interest when a more capable access point is within range and available. Ultimately, the lack of information given to a decision-making device is an inherent weakness of IEEE 802.11 and other network protocols.
A client running on a wireless device is not always a desirable solution. For instance, guests connecting to a public hot spot for only one time would be burdened with the process of downloading and installing a client. Furthermore, many computer users are weary about malicious applications downloaded from the Internet. Finally, the client is another background process consuming processing and memory availability of wireless devices.
What is needed is a technique to steer network devices to connect with preferred access points. Further, the technique should be adaptable to make independently-behaving access points make connection decisions that benefit the network as a whole.